TA

[DxP] Exclusivo Poketibia OpenSource

Por Taiger, 05 de jun. de 2016 em OTServer Alternativo (ATS)

dxp
tibia
pokemon
poke tibia
poketibia
sources
1.6k
253.5k
DuhisbackD
08 de junho de 2016 às 20:04
1 minuto atrás, boxxer321 disse:

ta usando o rme extendido by senhor?

Hehe esqueci esse detalhe não tenho ele...

 

ele é encontrado aqui no forum?

DuhisbackD
08 de junho de 2016 às 20:06
4 minutos atrás, Drakopoulos disse:

 

  Mostrar conteúdo oculto

 

local config = {

    loginMessage = getConfigValue('loginMessage'),

    useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))

}

local megasStones = {15131, 15133, 15136, 15793, 15783, 15781, 15794, 15784, 15780, 15792}

local megasToPlayer = {

    ["Alakazite"] = {id = 15131, megaID = "", pokeName = "Alakazam"},

    ["Blastoisinite"] = {id = 15133, megaID = "", pokeName = "Blastoise"},    

    ["Gengarite"] = {id = 15136, megaID = "", pokeName = "Gengar"},    

    

    ["Venusaurite"] = {id = 15793, megaID = "", pokeName = "Venusaur"},    

    ["Kangaskhanite"] = {id = 15783, megaID = "", pokeName = "Kangaskhan"},

    ["Tyranitarite"] = {id = 15781, megaID = "", pokeName = "Tyranitar"},

    ["Ampharosite"] = {id = 15794, megaID = "", pokeName = "Ampharos"},    

    ["Scizorite"] = {id = 15784, megaID = "", pokeName = "Scizor"},    

    

    ["Aggronite"] = {id = 15780, megaID = "", pokeName = "Aggron"},        

    ["Blazikenite"] = {id = 15792, megaID = "", pokeName = "Blaziken"},    

}

function BetaItem(cid)

    if getPlayerStorageValue(cid, storages.betaStorage) == -1 then

        addPokeToPlayer(cid, "Shiny Ditto", 0, nil, "poke", true)

        setPlayerStorageValue(cid, storages.betaStorage, 1)

        doSendMsg(cid, "Você ganhou um Shiny Ditto, uma TV Cam e uma Mega Stone para testalos a vontade.")

        

        item = doCreateItemEx(12330)

        doItemSetAttribute(item, "unique", getCreatureName(cid))

        doPlayerAddItemEx(cid, item)

        

        local mega = megasStones[math.random(1, #megasStones)]

        

        for a, b in pairs(megasToPlayer) do

            if mega == b.id then 

                addPokeToPlayer(cid, b.pokeName, 0, nil, "shinyyume", true, a)

                break

            end

        end    

    end

end

 

function AutoLootinit(cid)

    if getPlayerStorageValue (cid, storages.AutoLootCollectAll) == -1 then

    setPlayerStorageValue(cid, storages.AutoLootCollectAll, "no")

    end

    return true 

    end

 

function onLogin(cid)    

    doPlayerSetVocation(cid, 10)

    doSendPlayerExtendedOpcode(cid, 126, "nao")

    doResetPlayerTVSystem(cid)

    

    if not isGod(cid) then

       setPlayerGroupId(cid, 1)

       doRegainSpeed(cid)

    end

    doRegainSpeed(cid)

 

 --////// storages \\\\\\-- 

   doEreaseDuel(cid)

   setPlayerStorageValue(cid, 500, -1)

   setPlayerStorageValue(cid, 8085, 0)

   --// duel

   setPlayerStorageValue(cid, storages.requestCountPlayer, 0)

   setPlayerStorageValue(cid, storages.requestCountPokemon, 0)

   setPlayerStorageValue(cid, storages.requestedPlayer, 0)

   --// duel

 --////// storages \\\\\\-- 

 

 --////// Eventos \\\\\\-- 

     registerCreatureEvent(cid, "ShowPokedex")

     registerCreatureEvent(cid, "ClosePokedex")

      registerCreatureEvent(cid, "Mail")

     registerCreatureEvent(cid, "WildAttack")

     registerCreatureEvent(cid, "GuildMotd")

     registerCreatureEvent(cid, "Idle")

     registerCreatureEvent(cid, "ReportBug")

     registerCreatureEvent(cid, "AdvanceSave")

     --Adicionados \/

     registerCreatureEvent(cid, "PlayerLogout")

     registerCreatureEvent(cid, "LookSystem")

     registerCreatureEvent(cid, "Opcode")

     registerCreatureEvent(cid, "EmeraldShop")

     registerCreatureEvent(cid, "PokeStats")

     registerCreatureEvent(cid, "PokeWalk")

     registerCreatureEvent(cid, "PokeSleep")

     registerCreatureEvent(cid, "MoveItem")

     registerCreatureEvent(cid, "UpLevel")

     registerCreatureEvent(cid, "BlockWords")

     --registerCreatureEvent(cid, "PartySystem")

     registerCreatureEvent(cid, "Target")

     registerCreatureEvent(cid, "GeneralConfiguration")

     registerCreatureEvent(cid, "EffectOnAdvance")

     registerCreatureEvent(cid, "TradeRequest")

     registerCreatureEvent(cid, "TradeAccpet")

 --////// Eventos \\\\\\-- 

 

    if(not isPlayerGhost(cid)) then

        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)

    end

   

local legs = getPlayerSlotItem(cid, CONST_SLOT_LEGS)

local ball = getPlayerSlotItem(cid, 8):

 

    if getPlayerSlotItem(cid, CONST_SLOT_FEET).uid ~= 0 then

        doItemEraseAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "healthChanged")

    end

    --doOTCSendPokemonHealth(cid)

    --doClearPokemonStatus(cid)

 

    if isRiderOrFlyOrSurf(cid) and ball.uid ~= 0 then 

    local pokeName = getItemAttribute(ball.uid, "poke")

    

                    if isInArray({"ditto", "shiny ditto"}, pokeName:lower()) then

                       pokeName = getItemAttribute(ball.uid, "copyName")

                    end

    

                     local outfit = getPokemonOutfitToSkill(pokeName)

                     local speed = getPokemonSpeedToSkill(pokeName)

                         doSetCreatureOutfit(cid, {lookType = outfit + 351}, -1)

                         

                         doChangeSpeed(cid, -getCreatureSpeed(cid))

                         doChangeSpeed(cid, speed)

                         

                         if isRider(cid) then

                            setPlayerStorageValue(cid, orderTalks["ride"].storage, 1)

                         elseif isFly(cid) then

                            setPlayerStorageValue(cid, orderTalks["fly"].storage, 1)

                              if not hasSqm(getThingPos(cid)) then

                              --   doCreateItem(460, 1, getThingPos(cid))

                              end

                         elseif isSurf(cid) then

                            setPlayerStorageValue(cid, orderTalks["surf"].storage, 1) -- rever o markedPos

                            doChangeSpeed(cid, -getCreatureSpeed(cid))

                            doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))

                         end

                         doTeleportThing(cid, getMarkedSpawnPos(cid))

                         setPokemonGhost(cid)

    end                    

    

    setPlayerStorageValue(cid, storages.gobackDelay, -1)

    setPlayerStorageValue(cid, storages.pokedexDelay, -1)

    setPlayerStorageValue(cid, 154585, -1)

    doAddFirstItemsToPlayer(cid)

    BetaItem(cid)

    AutoLootinit(cid)

    doAddShoppingItem(cid)

    if getPlayerSlotItem(cid, 6).uid ~= 0 and getPlayerSlotItem(cid, 6).itemid ~= 2382 then

       doTransformItem(getPlayerSlotItem(cid, 6).uid, 2382)

    end

        

    -- otclient life

        doSendLifePokeToOTC(cid)

    -- otclient life

    

    

    return true

end

function doAddFirstItemsToPlayer(cid)

if not isCreature(cid) then return true end

if getPlayerStorageValue(cid, storages.BugFishing) ~= -1 then return true end

local config = {

            storage = 30001,

            items = {1988, 1987, 2382, 2120, 2550, 2580, 7385, 2395}

            -- 7385 (pokeinfo)

            -- 2395 (portfoil)  ok

            -- 2382    (pokedex)    ok

            -- 2550 (order)        ok

            -- 1987 (bag)        ok

            -- 1988 (badge case)    ok

            -- 2120 (rope)        ok

            -- 2580 (fishing rod)    ok

        }

            if getCreatureName(cid) == "Account Manager" then

                doSetCreatureOutfit(cid, {lookType = 655}, -1)

            return true

            end

            

            local pokeID = db.getResult("SELECT `pokeInicial` FROM `players` WHERE `name` = '" .. getCreatureName(cid) .. "' LIMIT 1;")

            local pokeIdNumber = tonumber(pokeID:getDataInt("pokeInicial"))

            local pokesIDS = {

                    [1] = "Caterpie",

                    [2] = "Rattata",

                    [3] = "Weedle"

                  }

            

            setPlayerCap(cid, 7)            

            setPlayerStorageValue(cid, duelTable.wins, 0)

            setPlayerStorageValue(cid, duelTable.loses, 0)

            local pokeBag = getPlayerItemById(cid, false, 1987).uid

            local ultraPotions = addItemInFreeBag(pokeBag, 12346, 10)

                  doItemSetAttribute(ultraPotions, "unique", getCreatureName(cid))

            local pokeballs = addItemInFreeBag(pokeBag, 2394, 20)

                  doItemSetAttribute(pokeballs, "unique", getCreatureName(cid))

            local ultraballs = addItemInFreeBag(pokeBag, 2392, 5)

                  doItemSetAttribute(ultraballs, "unique", getCreatureName(cid))

            

            addSkillsToDB(cid)

            setPlayerStorageValue(cid, storages.BugFishing, 1)

            addPokeToPlayer(cid, pokesIDS[pokeIdNumber], 0, nil, btype, true) 

            doTeleportThing(cid, getTownTemplePosition(1), false)

 

return true

end

 

local itensShopping = {

    [1] = {{2394, 100}, {12344, 25}, {12286, 2}},

    [2] = {{2391, 200}, {2393, 100}, {2392, 100}},

    [3] = {{12832, 1}},

    [4] = {{12286, 1}},

    [5] = {premiumDays = 30}

}

 

function doAddShoppingItem(cid)

    local allItems = {}

    local compra = 0

    local msg = ""

    local result = db.getResult("SELECT `itemID`, `compraID` FROM `playerCompras` WHERE `playerID` = '" .. getPlayerGUID(cid) .. "' AND `entregue` = 0")

    if result:getID() ~= -1 then

        compra = result:getDataInt("compraID")

        allItems[#allItems+1] = result:getDataInt("itemID")

        db.executeQuery("UPDATE `playerCompras` SET `entregue` = 13 WHERE `compraID` = ".. compra ..";")

        while(result:next()) do

            allItems[#allItems+1] = result:getDataInt("itemID")

            compra = result:getDataInt("compraID")

            db.executeQuery("UPDATE `playerCompras` SET `entregue` = 13 WHERE `compraID` = ".. compra ..";")

        end

    end

    

    if #allItems > 0 then

        for i = 1, #allItems do

            if allItems == 5 then

                doPlayerAddPremiumDays(cid, itensShopping[allItems].premiumDays)

                msg = "Seu pacote de '30 premium days' foi adicionado a sua conta com sucesso!"

                doSendMsg(cid, msg)

            else

            local bag = doCreateItemEx(12694) -- cubone bag de gratis

                for j = 1, #itensShopping[allItems] do

                    doAddContainerItem(bag, itensShopping[allItems][j][1], itensShopping[allItems][j][2])

                end

            

                doPlayerSendMailByName(getCreatureName(cid), bag, 1)

                msg = "Os itens que foram comprados pelo shopping foram enviados para seu cp."

                doSendMsg(cid, msg)

            end

        end

    end

end

 

function addSkillsToDB(cid)

        local str1 = "INSERT INTO `player_skills` (player_id, skillid, value, count) VALUES (" .. getPlayerGUID(cid) .. ", 5, 5, 0);"

        local str2 = "INSERT INTO `player_skills` (player_id, skillid, value, count) VALUES (" .. getPlayerGUID(cid) .. ", 6, 5, 0);"

            db.executeQuery(str1)

            db.executeQuery(str2)

end

 

 

É infelizmente não deu também você deve ter mudado algo a mais... lembrando que estou usando o patch atualizado

e sabe informar se mais alguém conseguio?

boxxer321B
08 de junho de 2016 às 20:06
2 minutos atrás, Eduzinhonho disse:

Hehe esqueci esse detalhe não tenho ele...

 

ele é encontrado aqui no forum?

Extended Download By Senhor :

 

https://www.mediafire.com/?fyklwfdwcawxepv

 

Scan : Clique aqui

DrakopoulosD
08 de junho de 2016 às 20:09
1 minuto atrás, Eduzinhonho disse:

 

É infelizmente não deu também você deve ter mudado algo a mais... lembrando que estou usando o patch atualizado

e sabe informar se mais alguém conseguio?

Ah sim, deve ser isso.. n tou usando esse patch. Mais tarde tarde passo ele e testo.

DuhisbackD
08 de junho de 2016 às 20:11

@Taiger é o seguinte eu consegui arrumar o acc manager mais no momento quando o char é criado ele  vem sem os itens não consegui arrumar ainda mais tá ai...

 

Abre o Sqlite procura pelo player "debug_depot" algo assim e muda o nome para "Account Manager" group_id = 1 foi isso que editei

e lembrando vai em accounts e bota a "Namer" = 1 "Password" = 1

boxxer321B
08 de junho de 2016 às 20:11
1 minuto atrás, Drakopoulos disse:

Ah sim, deve ser isso.. n tou usando esse patch. Mais tarde tarde passo ele e testo.

Te recomendo a usar esse patch, hein! Segundo o @kttallan tem alguns erros chatos corrigidos!

DrakopoulosD
08 de junho de 2016 às 20:16

Encontrei 2 problemas.

1 - Se compilar o servidor, a tv n vai funcionar pois está faltando funções nela.

2 - Se der /m com nome errado a distro trava, tipo /m Charizord

DuhisbackD
08 de junho de 2016 às 20:18
1 minuto atrás, Drakopoulos disse:

Encontrei 2 problemas.

1 - Se compilar o servidor, a tv n vai funcionar pois está faltando funções nela.

2 - Se der /m com nome errado a distro trava, tipo /m Charizord

Testei aqui com o novo patch e só deu apenas isso

 

[08/06/2016 20:17:00] [Error - TalkAction Interface] [08/06/2016 20:17:00] data/talkactions/scripts/creature.lua:onSay[08/06/2016 20:17:00] Description: [08/06/2016 20:17:00] (luaDoCreateMonster) Monster with name 'Charizord' not found

 

boxxer321B
08 de junho de 2016 às 20:18
1 minuto atrás, Drakopoulos disse:

Encontrei 2 problemas.

1 - Se compilar o servidor, a tv n vai funcionar pois está faltando funções nela.

2 - Se der /m com nome errado a distro trava, tipo /m Charizord

Que péssima noticia... então ficaremos com os bugs da sources

08 de junho de 2016 às 20:21

Tô quase desistindo desse serve :/ Aff só queria um serv pra jogar com meus amigos pra não ficar aquela coisa de Pxg Otp etc...

DrakopoulosD
08 de junho de 2016 às 20:21
2 minutos atrás, Eduzinhonho disse:

Testei aqui com o novo patch e só deu apenas isso

 

[08/06/2016 20:17:00] [Error - TalkAction Interface] [08/06/2016 20:17:00] data/talkactions/scripts/creature.lua:onSay[08/06/2016 20:17:00] Description: [08/06/2016 20:17:00] (luaDoCreateMonster) Monster with name 'Charizord' not found

 

Vc compilou a source? ou ta usando o executável que veio nele?

JosegvbJ
08 de junho de 2016 às 20:22

a tv cam esta com certo bug, quando o player começa a asistir-lo ele pode "andar" só q 1 sqm, mas fica o mesmo problema q tava no PDA, ele vem em um "stack" e dps começa a travar o cliente por causa do stack, e por travar eu quero dizer "cair os fps"

08 de junho de 2016 às 20:24

@boxxer321

Nada Haver aqui ta tudo funcionando certinho...sem bugs nenhum...Só falta tirar o Bug da PokeBag e posto pra vocês se Divertirem !

DuhisbackD
08 de junho de 2016 às 20:24
2 minutos atrás, Drakopoulos disse:

Vc compilou a source? ou ta usando o executável que veio nele?

Usando o .exe que veio

boxxer321B
08 de junho de 2016 às 20:25
1 minuto atrás, caiosantoro disse:

@boxxer321

Nada Haver aqui ta tudo funcionando certinho...sem bugs nenhum...Só falta tirar o Bug da PokeBag e posto pra vocês se Divertirem !

mas ele falou q ao compilar as sources a tv cam para de funcionar